@echo off
chcp 65001
cls
echo [32m正在启动 Movie Show 2024...[0m
echo.

REM 检查端口占用并结束相关进程
echo [33m正在检查端口占用...[0m
for /f "tokens=5" %%a in ('netstat -ano ^| find ":3000" ^| find "LISTENING"') do (
    echo 发现端口3000被占用，正在结束进程 %%a
    taskkill /F /PID %%a >nul 2>&1
)
for /f "tokens=5" %%a in ('netstat -ano ^| find ":5174" ^| find "LISTENING"') do (
    echo 发现端口5174被占用，正在结束进程 %%a
    taskkill /F /PID %%a >nul 2>&1
)

REM 等待端口释放
timeout /t 2 /nobreak >nul

REM 检查是否安装了所有依赖
if not exist "node_modules" (
    echo [33m正在安装依赖...[0m
    call npm run install-all
)

REM 启动应用
echo [32m正在启动应用...[0m
echo [32m后端服务器将运行在 http://localhost:3000[0m
echo [32m前端服务器将运行在 http://localhost:5174[0m
echo.
call npm run dev

REM 如果发生错误，暂停显示错误信息
if errorlevel 1 (
    echo [31m启动过程中发生错误，请查看上面的错误信息[0m
    pause
)
